This invention generally relates to formatting computer-stored database information in memory. More particularly, the present invention relates to a new and improved method for extracting database information from one location in memory and placing the extracted information into a computer readable file in another location in memory that can be accessed by a computer system that uses a different operating system to thereby enable data sharing.
Database computer files contain a significant amount of information that may be beneficial to many different computer users over a computer network. However, many of the computer users wanting access to a particular database associated with a host or source computer may not use the same type of computer as the source computer. Additionally, the different computers may operate using a different operating system than that of the source computer. Unfortunately, data sharing between computers that use different operating systems is generally slow and cumbersome.
Each computer that uses a different operating system employs a different method of storing and retrieving data in memory. The different formats are typically designed for a particular computer system and its associated operated system, wherein different operating systems typically store data in different formats. Some operating systems store data in records as fixed length data and at a fixed position within a file or within a memory storage device. Other operating systems may use delimiter to distinguish between records of variable length and location within the memory storage device.
The use of these multiple formats creates a substantial obstacle for computer users who wish to share data between differing operating systems. In essence, data stored in a particular format for a particular computer system must be converted to the format of the computer system that wishes to access an existing database created on a computer system running a different operating system. That is, the database information must be converted to the target computer system""s native format such that the target computer system recognizes the database information as if it were created on a computer system running the same operating system as the target computer system.
As an example, a database generated on an International Business Machines (xe2x80x9cIBMxe2x80x9d) mainframe using a DB2 OS/390 system is stored in a specific binary format associated particularly with the DB2 OS/390 system. Other computer users may want to access the database information using a computer system running an xe2x80x9cOpen Systemxe2x80x9d type of operating system. Open Systems are compatible with multiple hardware and software architectures and communications systems components. The purpose of an Open System is to provide portability of software across standard system platforms, interoperability between applications, connectivity between systems and flexibility in the management of an information systems resources. Typical Open Systems type operating systems include UNIX and Windows NT made and manufactured by Hewlett Packard and Microsoft, respectively.
The UNIX Open System may run on a work station connected to a Sun or HP server and may incorporate an Oracle database connected to the workstation. The Oracle database is stored within memory of a memory storage device connected to the workstation. However, the Oracle database does not contain the database information generated by the DB2 OS/390 system.
In order to share the database information that is generated on the OS/390 system, the database is subjected to a database extraction technique performed by the source computer system. The database extraction technique converts the DB2 database from its DB2 binary format into a plain text format. The database extraction technique stores the plain text format in a data file that resides in a storage device connected to the OS/390 system. This data file is frequently referred to as a flat file. As per this technique, each data line of the flat file contains one database record. The flat file is then transferred from the storage device connected to the OS/390 system to a storage device connected to the UNIX system computer. The plain text database information from the flat file is downloaded into the Oracle database associated with the UNIX system computer.
Generally, the task of transferring the flat file from the storage device of one operating system (i.e., the source computer) to the storage device of another computer using a different operating system (i.e., the target computer) is quite time consuming. For example, one technique of transferring a flat file involves transferring the file over a network conductor using a specific protocol such as file transfer protocol (xe2x80x9cFTPxe2x80x9d) which is a standard Internet protocol used for sending and receiving files. However, transferring large amounts of data over a network conductor significantly impacts the traffic on the network, consumes substantial bandwidth and slows down the system. More particularly, transferring the flat file over the network may take an unsatisfactory amount of time.
Another technique for transferring the flat file involves copying the flat file from the data storage device connected to the OS/390 system on to a portable data storage device that can be detached from the OS/390 system, e.g., a disk or tape. Once the flat file is copied on to the portable data storage device, the device is physically transported, carried or shipped, to the site of the target computer system where it is connected to the target computer and the file is downloaded to the storage device of the target computer. This copying and physical transporting can be quite time consuming and cumbersome. Once the flat file has been transported and downloaded to the storage device of the target computer, the file is then converted into a database recognizable by the Open System database application.
Another drawback associated with physically transferring the flat file from the storage device of one computer system to the storage device of another computer system is that two copies of the database exist. When two copies of the database exist, essentially twice the necessary memory is consumed which is an inefficient allocation of resources. Ideally the multiple computers using different operating systems can share the same file without transferring the flat file.
It is with respect to these issues that the present invention has been made.
The present invention relates to a method of extracting the database information and creating a flat file that is accessible and readable directly by a computer system that runs on an operating system that is different from the operating system used to create the database. One aspect of the present invention relates to a method of formatting the flat file in such a manner that no physical transportation of the flat file is necessary. Another aspect to the present invention relates to an apparatus capable of connecting to both a computer system running an Open System operating system and a DB2 OS/390 computer system wherein each computer system is capable of reading and accessing the same flat file.
In accordance with these aspects the present invention relates to a method of sharing data between at least two operating systems. The method comprises the steps of providing a volume in a data storage device, wherein the provided volume is a portion of memory within a data storage device, and the provided volume is accessible by a source operating system residing on a source computer and a target operating system residing on a target computer; and generating data within the provided volume using the source operating system, wherein the generated data is in a format that is readable by the target operating system. Before the step of generating data, the target operating system is detached from the provided volume so that the provided volume cannot be accessed by the target operating system. Following the generation of the data, the target operating system is attached to the provided volume so that both the provided volume and the generated data can be accessed by the target operating system.
In accordance with other preferred aspects, the present invention relates to an apparatus for sharing data between at least two operating systems. The apparatus comprises a data storage device connected to a source computer and a target computer and a volume, wherein the volume is a portion of memory within the data storage device. The volume is accessible by a source operating system residing on the source computer and a target operating system residing on the target computer. Additionally, the apparatus comprises one or more computer program routines, performed by the source computer, for generating data within the volume using the source operating system, wherein the generated data is in a format that is readable by the target operating system.